package com.news.service;

import com.news.model.NewsItem;
import com.news.model.NewsSource;
import java.util.List;

/**
 * 新闻服务接口
 */
public interface NewsService {
    
    /**
     * 获取指定来源的热门新闻
     * @param source 新闻来源
     * @param limit 获取数量限制
     * @return 新闻列表
     */
    List<NewsItem> getHotNews(NewsSource source, int limit);
    
    /**
     * 获取所有来源的热门新闻
     * @param limit 每个来源的获取数量限制
     * @return 新闻列表
     */
    List<NewsItem> getAllHotNews(int limit);
    
    /**
     * 根据关键词搜索新闻
     * @param keyword 搜索关键词
     * @param source 新闻来源，null表示所有来源
     * @param limit 获取数量限制
     * @return 新闻列表
     */
    List<NewsItem> searchNews(String keyword, NewsSource source, int limit);
    
    /**
     * 刷新新闻数据
     */
    void refreshNews();
} 